#ifndef STEM_H
#define STEM_H

#include <memory>

class DataController;
class PermissionManager;

namespace Api
{
class ApiController;
} // namespace Api

class Stem final
{
public:
    Stem();
    ~Stem();

    int run();

private:
    void logSplash() const;

private:
    std::shared_ptr<DataController> m_dataController;
    std::shared_ptr<Api::ApiController> m_apiController;
    std::shared_ptr<PermissionManager> m_permissionManager;

};

#endif // STEM_H
